package search

type OrganoidListReq struct {
	Keywords      string `form:"keywords"`
	Page          uint8  `form:"page"`
	PageSize      uint32 `form:"pageSize"`
	Organism      string `form:"organism" binding:"required,max=50"`
	Source        string `form:"source" binding:"required,max=50"`
	Organoid      string `form:"organoid" binding:"required,max=50"`
	CoCulture     string `form:"coCulture" binding:"max=50"`
	CultureMethod string `form:"cultureMethod" binding:"max=50"`
	Complexity    string `form:"complexity" binding:"max=50"`
}

type OrganoidListRes struct {
	SampleId         string `json:"sampleId"`
	Organoid         string `json:"organoid"`
	Organism         string `json:"organism"`
	Source           string `json:"source"`
	Method           string `json:"method"`
	Times            string `json:"times"`
	CoCulture        string `json:"coCulture"`
	CoCultureDetail  string `json:"coCultureDetail"`
	Complexity       string `json:"complexity"`
	AdditionalFactor string `json:"additionalFactor"`
	Reference        string `json:"reference"`
}

type CoCultureListRes struct {
	SampleId         string `json:"sampleId"`
	Organoid         string `json:"organoid"`
	Times            string `json:"times"`
	CoCulture        string `json:"coCulture"`
	Medium           string `json:"medium"`
	ReadOut          string `json:"readOut"`
	AdditionalFactor string `json:"additionalFactor"`
	Reference        string `json:"reference"`
}

type BiomarkerListReq struct {
	Keywords               string `form:"keywords"`
	Page                   uint8  `form:"page"`
	PageSize               uint32 `form:"pageSize"`
	Organism               string `form:"organism" binding:"required,max=50"`
	Source                 string `form:"source" binding:"required,max=50"`
	Organoid               string `form:"organoid" binding:"required,max=50"`
	Period                 string `form:"period" binding:"required,max=50"`
	BiomarkerClassfication string `form:"biomarkerClassfication" binding:"max=50"`
	DetectionMethod        string `form:"detectionMethod" binding:"max=50"`
	CoCulture              string `form:"coCulture" binding:"max=50"`
	DiseaseModeling        string `form:"diseaseModeling" binding:"max=50"`
	DrugTest               string `form:"drugTest" binding:"max=50"`
}

type IdentifyListRes struct {
	SampleId                string `json:"sampleId"`
	Organoid                string `json:"organoid"`
	Organism                string `json:"organism"`
	Source                  string `json:"source"`
	Method                  string `json:"method"`
	Model                   string `json:"model"`
	ModelDetail             string `json:"modelDetail"`
	BiomarkerOrganoid       string `json:"biomarkerOrganoid"`
	BiomarkerOrganoidDetail string `json:"biomarkerOrganoidDetail"`
	BiomarkerModel          string `json:"biomarkerModel"`
	BiomarkerModelDetail    string `json:"biomarkerModelDetail"`
	ReadOut                 string `json:"readOut"`
	Reference               string `json:"reference"`
}

type PotentialListRes struct {
	SampleId                           string `json:"sampleId"`
	Organoid                           string `json:"organoid"`
	Organism                           string `json:"organism"`
	PotentialBiomarker                 string `json:"potentialBiomarker"`
	ExperimentalStrategyRnaSeq         string `json:"experimentalStrategyRnaSeq"`
	ExperimentalStrategyRnaSeqDetail   string `json:"experimentalStrategyRnaSeqDetail"`
	ExperimentalStrategyScrnaSeq       string `json:"experimentalStrategyScrnaSeq"`
	ExperimentalStrategyScrnaSeqDetail string `json:"experimentalStrategyScrnaSeqDetail"`
	Application                        string `json:"application"`
	Verification                       string `json:"verification"`
}
